on-line help code. Special thanks to John Norstad and Northwestern University for the  åSPECIAL THANKS   line. appearance in text. The file is a list of 128 characters, each on its own Gives all ASCII characters in the order of their expected frequency of xZero-Frequency File (optional: a built-in default is provided)  The default file used to prime the predictive model on startup. xPrime File  window Replaces these by appropriate visible characters in the predictions xShow Space Tab and CR  is predicted. Determines whether or not predictions stop when an end-of-line character xStop predictions at Return  omitted. than the size of the priming file, first part of the priming file will be The maximum number of characters read from the priming file. If greater xStartup Amount  used to make predictions. make predictions. The model order is the number of context characters Controls the depth of a tree built by the Reactive Keyboard that is used to xModel Order  The maximum frequency retained for any given context. xMaximum Frequency  be adjusted by selecting “Model Preferences ...” from the Options menu. The Reactive Keyboard’s operation is controlled by parameters that can  åPARAMETERS    cleared before priming or not, as required permits priming from a file as it is read. In either case the model can be from the File menu. In addition, an option in the Open File dialog box Keyboard can be reprimed at any time by selecting “Prime from file ...” There is a default priming file used at startup. However, the Reactive  the character of the text being entered. session. For good performance it is essential that the priming file match form of a priming file, as well as text entered in the current editing Predictions are based on the text provided to the Reactive Keyboard in the  åPRIMING   window can be changed by dragging the vertical separating bar. predictions. The relative length of the context and prediction in the mouse over the context string which is displayed to the left of the Characters preceding the cursor position can be erased by moving the  adjusted by changing the window size. predictions. The number and length of displayed predictions can be standard scroll bar can be used to scroll through the complete list of copied into the text buffer and new predictions to be displayed. The appear highlighted at the current text position. Clicking causes them to be be moved over these predictions and the relevant portions of them will predictions window (by clicking the mouse anywhere in it), the mouse can which form a list at the righthand side of the window. After selecting the The “predictions window” contains the Reactive Keyboard’s predictions,  time. handling and text manipulation. Only one text window can be open at a is initially empty. Basic text editing facilities are provided for file The “text window” (labeled Untitled) contains the text being entered, and  scrolled, zoomed, moved, and resized. When the Reactive Keyboard is invoked, two windows appear. Both can be  åUSAGE    user history accumulates. text is being entered. Prediction accuracy improves continually as the session or in previous ones, the system conforms to whatever kind of created adaptively, based on what the user has already typed in this enough to form the basis of a useful communication device. Since they are Obviously predictions are not always correct, but they are correct often  himself. Accepted predictions appear to the editor as if the user had typed them in menu interface allows the user to accept all or part of any prediction. character, so that the entire character set can always be accessed. A display them for selection. Each prediction starts with a different ASCII strings, which are predicted by the model, according to popularity and continuations. The basic idea is to order context-conditioned candidate model, along with the current context, is used to determine likely (n-grams) with associated occurrence frequencies. In prediction, this contains a large number of recurring selection element sequences previously entered text is created and maintained adaptively. This model To enable the Reactive Keyboard to make predictions, a model of  å PREDICTIVE TEXT GENERATION  lists, or upgrade services. product. We cannot offer services such as telephone support, mailing The Reactive Keyboard is a demonstration program, not a commercial  efforts. like to hear about it so that others will be able to benefit from your modified to suit different people’s requirements. If you do modify it, we’d The Reactive Keyboard is provided in source form so that it can be  same source. 136.159.2.1). Versions for the IBM PC and Unix are available from the electronically via anonymous ftp from cpsc.UCalgary.CA (internet you wish, as long as it is not for profit. The current version is available you to make and distribute as many copies as you wish, for whomever The Reactive Keyboard is free. There is no shareware fee. We encourage  without the permission of the authors. included with other software which is sold or distributed for profit, The software may not, however, be sold or distributed for profit, or provided this disclaimer and copyright notice are preserved on all copies. Permission is granted to make and distribute copies of this software, Copyright © 1990, John J. Darragh, Ian H. Witten and Mark L. James.  åCOPYRIGHT AND DISTRIBUTION  Witten entitled “The Reactive Keyboard” (Cambridge University Press). Nomember 1990, and in a forthcoming book by J.J. Darragh and I.H. predictive typing aid”IEEE Computer, Vol 23, No.11, pp. 41-49, Darragh, I.H. Witten, and M.L. James. “The Reactive Keyboard: A predict what the user is going to type next. It is described by J.J. text to the conventional keyboard. Wherever possible it attempts to predictive text generation. It provides an alternative means of generating The Reactive Keyboard is a text editor with the added feature of   Email darragh@cpsc.UCalgary.CA Canada T2N 1N4, Calgary University of Calgary, Department of Computer Science,  Written by John J. Darragh and Mark L. James Conceived by John J. Darragh and Ian H. Witten                  åTable of Contents   » August 1990  É É É » »The Reactive Keyboard 1.1 ,